package com.xinjian.jianba.service;

import java.util.Map;

import com.xinjian.jianba.dto.DetailedUserInfoDto;
import com.xinjian.jianba.dto.ForgetPasswordDto;
import com.xinjian.jianba.dto.IndexDto;
import com.xinjian.jianba.dto.IndexInfoDto;
import com.xinjian.jianba.dto.LoginDto;
import com.xinjian.jianba.dto.LoginVo;
import com.xinjian.jianba.dto.PasswordUpdateDto;
import com.xinjian.jianba.dto.RegisterUserDto;
import com.xinjian.jianba.dto.UserInfoDto;
import com.xinjian.jianba.dto.UserInfoVo;
import com.xinjian.jianba.exception.Page;

/**
 * 用户service
 *
 */
public interface UserService {

	Map<String, Object> register(RegisterUserDto registerUserDto)throws Exception;

	LoginVo login(LoginDto loginDto) throws Exception;

	void logout(UserInfoDto userInfoDto);

	void forgetPassword(ForgetPasswordDto forgetPasswordDto);

	void passwordUpdate(PasswordUpdateDto passwordUpdateDto);

	UserInfoVo userInfo(UserInfoDto userInfoDto);

	// 完善用户信息
	Map<String, Object> consummationData(DetailedUserInfoDto detailedUserInfoDto)throws Exception;

	Map<String, Object> updateUserInfo(UserInfoVo userInfoVo)throws Exception;

	// 根据用户Id获取用户的首页信息
	Page<IndexInfoDto> selectIndexInfoById(IndexDto indexDto);
	
	LoginVo getInfoByUserId(String userId);
	
	int sexChoose(Long userId,Integer sex);

	LoginVo getBuziInfoByUserId(String userId);
}
